package com.sayimo.maker.user.service;

import java.util.Map;

import javax.servlet.http.HttpServletRequest;

import com.sayimo.framework.common.MessageObject;
import com.sayimo.framework.exception.ServiceException;
import com.sayimo.maker.user.vo.Wallet;


/**  
 * @Title: WalletService.java
 * @Package com.sayimo.maker.user.service
 * @Description: TODO(用一句话描述该文件做什么)
 * @author 田超
 * @date 2017年2月8日 下午4:23:46
 * @version V1.0  
 */
public interface WalletInterfaceService {
	/** 
	* @Title: insertWallet 
	* @Description: 添加会员钱包
	* @param wallet
	* @throws ServiceException
	* @return MessageObject
	*/ 
	public MessageObject insertWallet(Integer customerId) throws ServiceException;
	
	/** 
	* @Title: setWalletPassword 
	* @Description: 设置密码
	* @param passWord
	* @throws ServiceException
	* @return Map
	*/ 
	@SuppressWarnings("rawtypes")
	public Map createWalletPassword(Wallet wallet) throws ServiceException;
	
	/**
	 * 
	* @Title: updateWalltPassWord
	* @Author: 田超
	* @Date:日期：2017年2月20日 : 下午2:55:17
	* @Description:修改钱包密码
	* @return Map<String,Object>
	* @Version 1.0.0
	 */
	public Map<String,Object> updateWalltPassWord(HttpServletRequest request)throws ServiceException;
	
	/** 
	 * @author 陈培永
	 * @Title: queryWalletInfo
	 * @Description: 获取用户钱包信息
	 * @param customer
	 * @throws ServiceException
	 * @return Map 
	 */ 
	@SuppressWarnings("rawtypes")
	public Map queryWalletInfo(int customerId) throws ServiceException;
	
	/** 
	 * @author 陈培永
	 * @Title: updateMoneyPwd
	 * @Description: 修改提现密码
	 * @return String 
	 */ 
	@SuppressWarnings("rawtypes")
	public Map updateMoneyPwd(Wallet wallet) throws ServiceException;
	
	/** 
	 * @author 陈培永
	 * @Title: listWalletInOutDetail
	 * @Description: 收支明细记录
	 * @return MessageObject 
	 * @param customerId
	 * @param queryType 1、收入  2、支出
	 */ 
	@SuppressWarnings("rawtypes")
	public Map listWalletInOutDetail(int customerId, Integer queryType,Integer rewardType,String orderType,Integer pageNow,Integer pageSize,String transferStatus) throws ServiceException;
	
	/**
	 * 
	 * @MethodName queryWalletByCustomerId
	 * @Description 按ID查询钱包
	 * 
	 * @author chenpy
	 * @date 2015年12月26日 下午2:44:47
	 * @param 
	 * @return Wallet
	 * @VERSION 1.0.0
	 */
	public Wallet queryWalletByCustomerId(int customerId) throws ServiceException;
	
	/**
	 * 
	 * @MethodName updateWallet
	 * @Description 钱包修改
	 * 
	 * @author chenpy
	 * @date 2015年12月26日 下午2:44:47
	 * @param 
	 * @return Wallet
	 * @VERSION 1.0.0
	 */
	public int updateWallet(Wallet wallet) throws ServiceException;
	/**
	 * @Package com.sayimo.maker.user.service
	 * @Author 谭新
	 * @MethodName: verifyMoneyPwd
	 * @Description:验证钱包密码
	 * @return Map
	 * @Date 2017年3月22日,上午11:42:33
	 */
	public Map verifyMoneyPwd(Wallet wallet) throws ServiceException;
	
}
